package com.tbit.main.pojo;

import com.tbit.main.h2.pojo.ParkPoint;
import lombok.Data;

import java.util.List;

/**
 * 设备信息
 *
 * @author Leon
 * 2019年11月12日 上午11:38:14
 */
@Data
public class MachineInfo {
    /**
     * 最后状态信息
     */
    private MachineStatus machineStatus;
    /**
     * 最后骑行订单
     */
    private RideLog rideLog;
    /**
     * 归属站点信息
     */
    private ParkPoint parkPoint;
    /**
     * 车辆展示状态
     */
    private MachineShowStatus machineShowStatus;
    /**
     * 车辆占用信息
     */
    private MachineOccupy machineOccupy;
    /**
     * 车辆最后借出时间
     */
    private MachineStatusBorrow machineStatusBorrow;
    /**
     * 车辆信息
     */
    private Machine machine;

    /**
     * 已绑定的标签
     */
    private List<TagBaseInfo> bindTags;

    /**
     * 标签名称(兼容旧版app)
     */
    private String tagName;

    /**
     * 车辆故障
     * */
    private MachineFault machineFault;

    /**
     * 最新一条换电记录
     * */
    private PowerChangeLog lastPowerChangeLog;

    /**
     * 最新一条挪车记录
     * */
    private MoveLog lastMoveLog;

    /**
     * 最新一条调度记录
     * */
    private DispatchLog dispatchLog;

    /**
     * 解析标签名称
     */
    public void parse() {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < bindTags.size(); i++) {
            sb.append(bindTags.get(i).getName());
            if (i != bindTags.size() - 1) {
                sb.append(",");
            }
        }
        tagName = sb.toString();
    }

    @Override
    public String toString() {
        return "MachineInfo{" +
                "machineStatus=" + machineStatus +
                ", rideLog=" + rideLog +
                ", parkPoint=" + parkPoint +
                ", machineShowStatus=" + machineShowStatus +
                ", machineOccupy=" + machineOccupy +
                ", machineStatusBorrow=" + machineStatusBorrow +
                ", machine=" + machine +
                ", bindTags=" + bindTags +
                ", tagName='" + tagName + '\'' +
                '}';
    }
}
